Security Expert Network Editor Login | Register Ekle

root > Web Uygulamaları Güvenliği > Code Security
PHP’de Xss [Cross Site Scripting] Korunma Yolları. - Code Security - Web Uygulamaları Güvenliği - root \ Cyber-Security
İsmailSARI
(Relased 30.01.2011 22:40:18)


PHP’de Xss [Cross Site Scripting] Korunma Yolları.
PHP’de Xss [Cross Site Scripting] Korunma Yolları.


Merhaba Arkadaşlar Xss [Cross Site Scripting] Açıkları PHP dilinde nasıl oluşur, Nasıl kapatılır.

Xss [Cross Site Scripting] Açıkları genellikle form alanlarında olur.Yani kullanıcının Veri Yazdığı Yerlerde olur ama bu diger hiç bi yerde yoktur anlamınada gelmez.Xss Açıkları deneme yanılma yoluylada bulunabilir.Yani Herhangi bi dil bilmenize gerek yok ama. PHP Ve Javascript Bilirseniz Size yararı Dokunucaktır.Xss Açıklarını Kapatmak veya hiç oluşturmamak İçin her türlü Ekrana Yazılan veriyi Bizim Hazırladıgımız Filitreden geçirmeliyiz.


Bi örnekle Daha konuyu Açabilirim sanırım,

index.php;

Lütfen Bi Değer Giriniz :

Resim İçin :



index.php de Bir Form alanı oluşturduk ve bir text alanı,xssed Adında bi string degişken oluşturduk ve bunu PHP kodlari İle Ekrana Yazdırcaz.


index.php’ye Herhangi Bir Zararlı kod yazalım :



Evet Şimdi Function oluşturadan xssed degişkenini ekrana yazdırmadan önce filitreden geçiricez.

Function KodTemizle($xss){
$gelenmesaj = array("","refresh","location","script","\\n","’","String","SRC","BOdy","BODY");
$yenimesaj = array("","","","","","
","","","SRC","","");

$son = str_replace($gelenmesaj,$yenimesaj,$xss);
return $son;

}


Yukarda gibi taklarini karşılığını Boş olarak ekrana yazdir dedik.

Yani:



Function oluşturak zararlı kodları temizleme İşlemimiz Bu kadar.

Şimdi .htaccess Dosyası İle Zararlı Kodları Temizliyebiliriz.Bunu

Evet index.php Dosyasını ve .htaccess Dosyasını Hostumuz attık.




RewriteEngine On

RewriteCond %{QUERY_STRING} base64_encode.*\\(.*\\) [OR]

RewriteCond %{QUERY_STRING} (\\|>) [NC,OR]

RewriteCond %{QUERY_STRING} GLOBALS(=|\\[|\\%[0-9A-Z]{0,2}) [OR]

RewriteCond %{QUERY_STRING} _REQUEST(=|\\[|\\%[0-9A-Z]{0,2})

RewriteRule ^(.*)$ index.php [F,L]


Yukardaki kodları .htacces Dosyasına yazdıktan sonra xss kodlarını deniyoruz ve sonuç :



Ve .htacces Dosyasını kaldırdığımda,



Ama Bazı Yerlerde Sorun Çıkartabilir.Tercihim Function oluşturarak Zararlı Kodlari temizlemeniz.


Derecelendir
Kaynak http://www.bilgininadresi.net/Madde/18843/PHP%E2%80%99de-Xss-%5BCross-Site-Scripting%5D-Korunma-Yollar%C4%B1.
İçerik İhbarı
Bağlantılar Bg.org.tr

CS - Security Expert Network AUP&TOS